1. Field of the Invention
This invention provides a method of managing and storing addresses of defective data blocks on an optical disc, which during data access sorts only the addresses of new defects, to be combined and sorted with all of the defects on an optical disc when data is no longer being accessed.
2. Description of the Prior Art
Optical discs, given their compact size, high capacity storage, and low price, have rapidly become one of the most dominant, non-volatile storage media in the contemporary information society. The development of a CD-R has made it possible for users to write data onto optical discs in accordance with their own specific needs, which affords the CD-R a high degree of application flexibility.
It is necessary to have an optical disc drive before reading and writing data onto an optical disc. Please refer to FIG. 1 that shows a typical optical disc drive 10. The optical disc drive 10 comprises a holder plate 14 to carry an optical disc 22, a motor 12 that drives the holder plate 14, a read/write head 16 that accesses data on the optical disc 22, a control circuit 18 that controls the operation of the optical disc drive 10, and a memory 20, such as Dynamic Random Access Memory (DRAM), that serves as a temporary storage device to record all relevant data during the operation of the control circuit 18.
The data on the optical disc 22 is recorded sequentially onto a track 24 through pit and land markings. When the optical disc drive 10 is ready to write data onto the optical disc 22, first the optical disc drive 10 stores the intended data in the memory 20 before writing the intended data onto the optical disc 22. The read/write head 16 meanwhile checks for defects in the optical disc 22, and passes the check results back to control circuit 18.
Often due to defects stemming from scratch marks, change of material properties, or interference by micro-dust, data cannot be written onto the optical disc 22. To improve the reliability of a re-writable optical disc (CD-RW), the information technology industry has committed itself to research and development optical disc defect management, for instance, with the introduction of a CD-MRW (Compact Disc Mount Rainier re-Writable) format, which sets aside Spare Areas (SA) in an optical disc. When certain areas of the optical disc contain a defect that renders that area unsuitable for data storage, the CD-MRW format redirects the target data for storage to a SA (please refer to FIG. 2A).
FIG. 2A is an illustration of the format for data storage and defect management of the typical optical disc 22. The data-bearing track 24 of the optical disc 22 is divided into several main areas, including a Lead-in Area (LI), a Program Area (PA), and a Lead-Out Area (LO).The LI area and the LO area are used respectively to designate the beginning and end of the track 24. The PA is primarily used to record the data that is to be written onto the optical disc 22. Within the LI area, a Main Table Area (MTA) is established for the storage of a Defect Table (DT). The PA is further divided into a Pre-Gap (P0) area, a General Application Area (GAA), a Secondary Table Area (STA), and a plurality of Data Areas DA(1) to DA(N), and their corresponding Spare Areas, SA(1) to SA(N). The STA is a back up for the DT. Each DA(N) is further divided into a pre-determined number of user data blocks (Bd) and each SA(n) is divided into a pre-determined number of spare data blocks (Bs). The Bds (or Bs) are all of the same data storage capacity and data-writable. For instance, under the CD-MRW format, each Data Area generally has 136*32 data user blocks and each Spare Area has 8*32 spare data blocks.
All data blocks have a fixed address, which is designated by a certain number to identify a location on the track 24. To write user data onto the optical disc 22 as specified in FIG. 2A, the optical drive 10 treats each data block as a basic data unit, writing data onto each data block within a Data Area in an orderly fashion. For example, when every data block in DA(1) comprises user data, any subsequent data would be directed to available data blocks in DA(2) as needed. However, should a data block be defective during a write-in, an available spare data block would become the location for data storage. If the spare data block turns out to be defective as well during the write-in, then another available Bd is located for the original data storage. By applying this format and method of operation, an accurate data write-in is guaranteed, and the data storage capability of the optical disc 22 is nor compromised due to a defective area.
Writing data onto a spare data block to replace a defective data block (which might be a user data block or spare data block) requires a certain mechanism in place to link the address of the defective data block to that of the spare data block. In this case, the Defect Table (DT) is used to record the correlations between the defective data block and the spare data block (Please refer to FIG. 2B). FIG. 2B is an illustration of related data storage in the DT. The DT comprises a plurality of numbered Defect Table Blocks (DTB) to store related data. FIG. 2B illustrates three DTBs, as in DTB(n−i), DTB (n), and DTB(n+1), where “i” may be 1. Every DTB comprises a plurality of entries E, and every E stores a physical block number in the DA(a) that links to another physical block number in the SA(a). As illustrated in FIG. 2B, an address, ranging from DN1 to DN12, represents a location in different data blocks and an address from AN1 to AN18, represents a location in different spare data blocks.
Every DTB corresponds to a spare data area and the number of entries in the DTB equals the number of spare data blocks in the spare area. According to the data storage in every spare data block of the optical disc 22, every entry E comprises a status indicator to signal the status of data storage in the corresponding spare data block. As illustrated in FIG. 2B, a status indicator “U” represents that the entry stores the address of a spare data block that is being used, along with the address for the defective data block. In other words, data originally intended for a defective data block in the optical disc 22 is actually stored in a spare data block that corresponds to the defective data block. This corresponding relationship between the defective data block and the spare data block is recorded in the entry E (which is now called a used entry),with the status indicator “U”.
If a spare data block is available (still un-occupied by user data), it can be used to replace any new-found defective data block for storage during a write-in. The address for such an un-occupied spare data block is stored in an entry E, with a status indicator “F” (a free entry). In the unused entry E, the defect data block address is meaningless (because there is no defect data block to link to).
A spare data block could also be defective, and the address of the spare data block is stored in an entry E with the status indicator “D”. The entry E used to store the address of a defective spare data block is called an unusable entry E. In combination, all of the entries in the DTB provide the statuses of all the spare data blocks in the optical disc 22.
When the optical disc drive 10 tries to access data on the optical disc 22, it temporarily loads the DT of the optical disc 22 into the memory 20. When the optical disc drive 10 tries to access data on the optical disc 22, the optical disc drive 10 uses the address of each and every user data block (Bd) to access the data it desires. If a Bd turns out to be defective, the optical disc drive 10 then enlists the help of the DT to locate the replacement data block that stores the user data. In this manner, even with defects on the optical disc 22, the optical disc 22 still can store data for read-out.
On the other hand, the optical disc drive 10 writing data onto the optical disc 22 requires updating the DT in temporary storage in memory 20 accordingly. For instance, assume that during the write-in the optical disc drive 10 discovers that a user data block is defective. The optical disc drive 10 then has to locate another unused spare data block for data storage. The optical disc drive 10 locates an unused entry in the DT. The address of an unused spare data block is recorded in the unused entry and the unused entry is changed into a used entry (by changing the status indicator). The address of the defective data block is recorded in the entry, thus storing a complete corresponding relationship between the defective user data block and the spare data block. As a result, the DT temporarily stored in the memory 20 is updated as well. When the optical disc drive 10 stops accessing data on the optical disc 22 (as in the case of ejecting the optical disc 22), the optical disc drive 10 writes the updated DT from the memory 20 onto the optical disc 22. This updated DT provides the reference that the optical disc drive 10 needs when it tries to access data on the optical disc 22 the next time around.
To facilitate searching for a spare data block in replacing a defective data block by the optical disc drive 10, used entries are sorted according to the recorded address of the data blocks. As illustrated in FIG. 2B, in the DA(n) of the track 24 there is an ascending order of addresses of the data blocks DN6,DN7, and DN8, which means DN8>DN7>DN6. If all three of these user data blocks are defective and require replacement by spare data blocks, the DT used-entries that store the addresses for all three data blocks would be sorted out in order as illustrated in the DTB(n) of FIG. 2B. Similarly, the block DTB(n+1) that corresponds to DA(N+1) in the DTB is sorted as well in accordance with the address of DN11 and DN12.
Used entries in the DT, regardless of their locations, are sorted according to the addresses of the defective data blocks with which they correspond. As illustrated in FIG. 2B, in the used entries, there is an ascending order of DN1<DN2<DN6<DN7<DN8<DN11<DN12 among the addresses of defective data blocks. However, there may not exist any specific order among the corresponding addresses of the spare data blocks AN1, AN2, AN6, AN7, AN8, AN11, AN12 in the used entries. With the used entries in order, the optical disc drive 10 is more efficient in accessing data in a given defective data block by tracing to the replacement spare data block through the use of the DT.
As the used entries in the DTB are sorted according to the address of the defect data block, the unused entries in the DTB are sorted as well according to the address of the unused spare data block. For instance, in the DTB(n+1) of FIG. 2B the addresses of spare data blocks stored in the unused entries AN13,AN14, and AN15 have an ascending order of AN13<AN14<AN15. With the unused entries in the DT sorted, the optical disc drive 10 is capable of efficiently searching for an unused spare data block to replace a defective data block. As for the unusable entries, there is no need for sorting.
As mentioned earlier, when the optical disc drive 10 tries to access data on the optical disc 22, the optical disc drive 10 loads the DT from the optical disc 22 into the memory 20 for temporary storage (please refer to FIG. 3 in conjunction with FIG. 2B). FIG. 3 illustrates how the prior art technology loads the DT into the memory 20 for temporary storage. The optical disc drive 10 reads the original DTB structures into the memory 20, as illustrated in FIG. 3. Please notice that in FIG. 3, the allocation of entries is similar to that of the DTB(n) and the DTB(n+1) in FIG. 2B.
As mentioned earlier, if the optical disc drive 10 uncovers a defective data block during write-in, the optical disc drive 10 replaces the defective data block with a spare data block and updates the DT that is temporarily stored in the memory 20 so that the updated DT reflects the latest linkage between the defective blocks and the replacement data blocks.
Please refer to FIG. 4A to FIG. 4C, which illustrate what process the prior art technology employs to update the DT. Suppose during a write-in, the optical disc drive 10 uncovers a defective user data block DN5 in the DA(n), stemming possibly from scratch marks on the optical disc 22 or from damage caused by micro-dust. As illustrated in FIG. 4A, upon uncovering a defective data block (with address DN5), the optical disc drive 10 locates an unused entry Er in the DT which links to an unused spare data block with an address AN13.
As illustrated in FIG. 4B, when the optical disc drive 10 writes data onto the spare data block in AN13 which was meant for the defective data block, the entry Er gets changed to a used entry and the address DN5 of the defective data block is written into the Er, thus establishing a corresponding relationship between the defective data block and the replacement data block. As mentioned earlier, the used-entries, regardless of their location in the DTB, are sorted according to the address of the defective data block. Now the Er has been changed to a used-entry and every used-entry in memory 20 is sorted.
Since the address of the DN5 is smaller than those of DN6, DN7, DN8, DN11, and DN12, the prior art technology would first insert the content of Er into the address that formerly stored the used-entry DN6. Accordingly, the used-entries DN6 and DN7 are moved down one position, and the used-entry DN8 is moved to the DTB(n+1). Similarly, the used-entries in DTB(n+1) also move down. The result of the resorting is illustrated in FIG. 4C, thus completing the DT update. When the optical disc drive 10 stops accessing data on the optical disc 22 (as in the case of ejecting a disc), the DT temporarily stored in the memory 20 is written back onto the optical disc 22.
During the optical disc 22 write-in using the aforementioned prior art technology, upon detecting a new defective data block, the optical disc drive 10 would go about re-shuffling all the existing used-entries in the DT, which in itself is a rather time-consuming process. As illustrated in FIG. 4A to FIG. 4C, every sort moves many entries around. In other words, the memory 20 consumes huge amounts of time in conducting many store/access operations to accomplish a sort, which delays the process of data write-in and thus lowering the efficiency of writing data onto disc-in the process falling short of meeting the high requirement that modern day Information Technology industry expects of optical disc for highly efficient data write-in.